/**
 *
 */
package com.nightwalker.xsite.customtags;

import java.util.ArrayList;
import java.util.List;

import javax.faces.model.SelectItem;
import javax.servlet.jsp.tagext.TagSupport;

import org.apache.log4j.Logger;

import com.nightwalker.xsite.bean.ObraBean;
import com.nightwalker.xsite.bean.TipoBean;
import com.nightwalker.xsite.controller.ObraController;
import com.nightwalker.xsite.delegate.TipoDelegate;

/**
 * RecuperarTiposCT
 * <br><br>
 * <b>Description:</b>TagLib para recuperar os tipos
 * <br><br>
 * Created in Feb 8, 2008 8:38:09 PM
 * <br>
 * <b>version:</b>1.0
 * <br>
 * <b>Modifications:</b>
 */
public class RecuperarTiposCT extends TagSupport{

	private static final long serialVersionUID = 1L;
	private static Logger log = Logger.getLogger(RecuperarTiposCT.class);

	public int doStartTag(){
		ObraController obraController = (ObraController)pageContext.getRequest().getAttribute("obraController");

		ObraBean obra = obraController.getObra();
		SelectItem item = null;

		TipoBean tipo = new TipoBean();
		TipoDelegate tipoDelegate = new TipoDelegate();

		log.debug("Recuperando os tipos");
		tipoDelegate.recuperarTipos(tipo);
		List<SelectItem> tipos = new ArrayList<SelectItem>();

		for (TipoBean tipoIn : tipo.getTipos()) {
			item = new SelectItem();
			item.setLabel(tipoIn.getTipo());
			item.setValue(tipoIn.getId());

			tipos.add(item);
		}
		obra.setTipoItens(tipos);


		return SKIP_BODY;
	}

	public int doEndTag(){
		return EVAL_PAGE;
	}
}
